Java Technologies TestNG এর সাথে Logging Framework এর Integration গাইড ও নোট

374

TestNG একটি জনপ্রিয় Java testing framework, যা parallel testing, group testing, এবং test configuration এর জন্য সমর্থন প্রদান করে। Testing-এর সময় সঠিকভাবে logging (লগিং) করা অনেক গুরুত্বপূর্ণ, কারণ এটি ডিবাগিং এবং ট্রাবলশুটিং এ সাহায্য করে। এই লেখায় আমরা দেখব কীভাবে TestNG-এর সাথে একটি logging framework ইন্টিগ্রেট করা যায়।


Log4j: একটি জনপ্রিয় Logging Framework

Log4j হল Java-তে সবচেয়ে জনপ্রিয় logging framework, যা অনেক সুবিধা প্রদান করে। এটি একটি কনফিগারেশন ফাইল ব্যবহার করে লগের স্তর (level), আউটপুট ফাইল (output file), এবং অন্যান্য বিবরণ কনফিগার করতে সহায়ক।

TestNG-এর সাথে Log4j ইন্টিগ্রেট করার জন্য প্রথমে আপনাকে Log4j এর ডিপেন্ডেন্সি আপনার প্রোজেক্টে যোগ করতে হবে।


Log4j এর জন্য ডিপেন্ডেন্সি যোগ করা

Maven বা Gradle ব্যবহার করে Log4j ডিপেন্ডেন্সি যোগ করা যেতে পারে। নিচে Maven ব্যবহার করে Log4j 2.x ডিপেন্ডেন্সি যোগ করার উদাহরণ দেওয়া হল।

pom.xml ফাইলের জন্য:

<dependencies>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.14.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.14.1</version>
    </dependency>
</dependencies>

Log4j কনফিগারেশন ফাইল

Log4j কনফিগারেশন সাধারণত একটি log4j2.xml ফাইলে থাকে। এই ফাইলটি লগের স্তর এবং আউটপুট পরিচালনা করে।

নিচে একটি সাধারণ কনফিগারেশন ফাইলের উদাহরণ দেওয়া হল:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} [%t] %-5level: %msg%n%throwable"/>
        </Console>
    </Appenders>
    <Loggers>
        <Root level="info">
            <AppenderRef ref="Console"/>
        </Root>
    </Loggers>
</Configuration>

এই কনফিগারেশনটি Console-এ লগ মেসেজ আউটপুট করবে এবং লগের স্তর INFO থেকে শুরু হবে।


TestNG টেস্টে Log4j ব্যবহার

TestNG টেস্ট কেসে Log4j ব্যবহার করার জন্য প্রথমে Log4j এর logger কে ইনিশিয়ালাইজ করতে হবে এবং তারপর লগ মেসেজগুলো যুক্ত করতে হবে।

নিচে একটি উদাহরণ দেওয়া হল:

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.testng.annotations.Test;

public class TestLogging {

    private static final Logger logger = LogManager.getLogger(TestLogging.class);

    @Test
    public void testMethod() {
        logger.info("Test case started.");
        try {
            // কিছু টেস্ট কোড
            logger.debug("Executing some logic...");
            // এখানে একটি কাল্পনিক ব্যতিক্রম
            int result = 10 / 0;
        } catch (Exception e) {
            logger.error("Error occurred: ", e);
        }
        logger.info("Test case completed.");
    }
}

এখানে:

  • logger.info - সাধারণ ইনফরমেশন লগ করতে ব্যবহৃত।
  • logger.debug - ডিবাগ মেসেজগুলোর জন্য।
  • logger.error - কোনো ত্রুটি (error) সনাক্ত হলে এটি লগ করবে।

TestNG এবং Log4j এর সুবিধা

  • ডিবাগিং সহজ হয়: বিভিন্ন স্তরের লগিং (info, debug, error) সিস্টেমে সম্ভাব্য ত্রুটিগুলি শনাক্ত করতে সহায়ক।
  • অপারেশন ট্র্যাকিং: বিভিন্ন অপারেশন বা টেস্ট কেসের কার্যক্রম মনিটর করা সহজ হয়।
  • রিপোর্টিং: লগ ফাইলগুলির মাধ্যমে টেস্টের ফলাফল পর্যালোচনা এবং বিশ্লেষণ করা সম্ভব।

Log4j-এর সাথে TestNG ইন্টিগ্রেশন সফলভাবে সম্পন্ন হলে, আপনি আপনার টেস্টিং প্রক্রিয়ায় আরও কার্যকরী লগিং করতে পারবেন।

Content added By
Promotion

Are you sure to start over?

Loading...